/**
 * 浏览器标题管理工具
 */

const DEFAULT_TITLE = "ALL HOME";

/**
 * 安全地设置浏览器标题
 * @param title 标题内容
 */
export function setDocumentTitle(title?: string): void {
  try {
    if (title && typeof title === "string" && title.trim()) {
      document.title = title.trim();
    } else {
      document.title = DEFAULT_TITLE;
    }
  } catch (error) {
    console.error("设置浏览器标题失败:", error);
    // 确保在出错时也能设置默认标题
    try {
      document.title = DEFAULT_TITLE;
    } catch {
      // 如果仍然失败，忽略错误
    }
  }
}

/**
 * 设置家庭名称标题
 * @param familyName 家庭名称
 */
export function setFamilyTitle(familyName?: string): void {
  if (familyName && typeof familyName === "string" && familyName.trim()) {
    setDocumentTitle(`${familyName.trim()} - ${DEFAULT_TITLE}`);
  } else {
    setDocumentTitle(DEFAULT_TITLE);
  }
}

/**
 * 重置为默认标题
 */
export function resetDocumentTitle(): void {
  setDocumentTitle(DEFAULT_TITLE);
}

/**
 * 获取当前浏览器标题
 */
export function getDocumentTitle(): string {
  try {
    return document.title;
  } catch (error) {
    console.error("获取浏览器标题失败:", error);
    return DEFAULT_TITLE;
  }
}
